package com.ruoyi.flow.model.de;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @title:
 * @author: bruce.liu
 * @since: 2023/5/9 16:18
 */
@Data
@TableName("tbl_flow_de_model")
public class ProdDeModel implements Serializable {
    public static final int MODEL_TYPE_BPMN = 0;
    public static final int MODEL_TYPE_FORM = 2;
    public static final int MODEL_TYPE_APP = 3;
    public static final int MODEL_TYPE_DECISION_TABLE = 4;
    public static final int MODEL_TYPE_CMMN = 5;
    public static final int MODEL_TYPE_DECISION_SERVICE = 6;
    @TableId(type = IdType.ASSIGN_ID)
    protected String id;
    //模型名称
    @TableField("name")
    protected String name;
    /**
     * 流程名称的表达式
     */
    @TableField("process_name_exp")
    private String processNameExp;
    //模型类型
    @TableField("model_type")
    protected Integer modelType;
    //dmn类型 0代表决策表 1代表决策服务
    @TableField("dmn_type")
    protected Integer dmnType;
    //模型key
    @TableField("model_key")
    protected String modelKey;
    //分类
    @TableField("category")
    protected String category;
    @TableField(exist = false)
    protected String categoryName;
    //版本号
    @TableField("version")
    protected int version;
    //存储的xml文件
    @TableField("model_editor_xml")
    protected String modelEditorXml;
    //描述
    @TableField("description")
    protected String description;
    /**
     * 状态
     */
    @TableField("status")
    protected String status;
    @TableField(exist = false)
    protected String statusName;
    //创建时间
    @TableField("created")
    protected Date created;
    //更新时间
    @TableField("last_updated")
    protected Date lastUpdated;
    //创建人工号
    @TableField("created_by")
    private String createdBy;
    //最新的更新人工号
    @TableField("last_updated_by")
    private String lastUpdatedBy;
    //租户id 一般是系统的标识
    @TableField("tenant_id")
    protected String tenantId;
    //修改标记
    @TableField("update_flag")
    private Integer updateFlag;
    //是否开启租户
    @TableField(exist = false)
    private Boolean tenantEnable;
    @TableField(exist = false)
    protected String categoryCode;
    @TableField(exist = false)
    protected String keyword;
}
